﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio.Atividade;

namespace Finalcountdown.Site.Acompanhar
{
    public partial class acompanharEvento : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["id"] != null)
                {
                    hdfIdEventoEmExec.Value = Request.QueryString["id"].ToString();
                    carregarDados();

                }
                else
                {
                    Response.Redirect("~/Site/Consultar/consultarApresentacao.aspx");
                }
            }
        }

        private void carregarDados()
        {
            var idEvento = hdfIdEventoEmExec.Value;
            var obNAtividade = new NAtividade();
            var obAtividade = obNAtividade.pegarAtividadeAtivaPorEvento(Convert.ToInt32(idEvento));
            if (obAtividade != null)
            {
                //Buscar situação da contagem
                obNAtividade = new NAtividade();
                var nrSituacaoContagem = obNAtividade.pegarSituacaoContagem(obAtividade.id_atividade);

                //Setando Layout
                if(lbltempoRestante.Text == "00:00:00" &&  nrSituacaoContagem != 1)
                {
                    lbltempoRestante.Text = obAtividade.tm_evento_total.ToString();
                }
                lblTituloAtividade.Text = obAtividade.nm_atividade;
                lblTituloEvento.Text = obAtividade.tb_eventos.nm_evento;

                TimeSpan dt_atual = DateTime.Now.TimeOfDay;
                TimeSpan dt_start = Convert.ToDateTime(obAtividade.dt_evento_start).TimeOfDay;
                TimeSpan dt_tempo_decorrido = dt_atual - dt_start;
                TimeSpan resta = new TimeSpan();

                if (nrSituacaoContagem == 1)
                {
                    resta = dt_tempo_decorrido;
                    lbltempoRestante.Text = resta.ToString(@"hh\:mm\:ss");
                    lbltempoRestante.Style.Add("color", "red");
                    hdfTmRest.Value = resta.ToString(@"hh\:mm\:ss");
                }else
                {

                    resta = obAtividade.tm_evento_total - dt_tempo_decorrido;

                    lbltempoRestante.Style.Add("color", "blue");

                    lbltempoRestante.Text = resta.ToString(@"hh\:mm\:ss");
                    hdfTmRest.Value = resta.ToString(@"hh\:mm\:ss");
                }

                hdfIdAtividadeEmExec.Value = obNAtividade.idAtividade.ToString();
                
            }else
            {
                lblTituloEvento.Text = "---";
                lblTituloAtividade.Text = "---";
                lbltempoRestante.Text = "00:00:00";
                lbltempoRestante.Style.Add("color", "black");
            }

            Timer1sec.Enabled = true;
            Timer1sec.Interval = 1000;

        }

        protected void Timer1sec_Tick(object sender, EventArgs e)
        {
            carregarDados();
        }
    }
}